import { S } from '../../s';
import { IPSDEFormTabPage } from './ipsdeform-tab-page';
import { PSDEFormBaseGroupPanelImpl } from './psdeform-base-group-panel-impl';
import { IPSUIActionGroup } from '../../view/ipsuiaction-group';

export class PSDEFormTabPageImpl
  extends PSDEFormBaseGroupPanelImpl
  implements IPSDEFormTabPage
{
  get actionGroupExtractMode(): 'ITEM' | 'ITEMS' {
    return this.M.actionGroupExtractMode;
  }

  get buildInActions(): number {
    return this.M.buildInActions != null ? this.M.buildInActions : 0;
  }

  protected psuiactiongroup: IPSUIActionGroup;
  getPSUIActionGroup(): IPSUIActionGroup | null {
    return (
      this.psuiactiongroup ||
      (this.psuiactiongroup = this.fillObjectModel(
        S._210,
        this.M.getPSUIActionGroup,
        S._2ed,
      ) as IPSUIActionGroup)
    );
  }

  get enableAnchor(): boolean {
    return this.M.enableAnchor != null ? this.M.enableAnchor : false;
  }
  get cls(): string {
    return 'PSDEFormTabPageImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._b3 || cls == S._bf) return true;
    return super.instanceof(cls);
  }
}
